package com.fudan.gamestore.service;

import com.fudan.gamestore.pojo.User;
import com.github.pagehelper.PageInfo;

import javax.servlet.http.HttpSession;

public interface UserService {
    PageInfo<User> getAllUserByPage(Integer size, Integer pageNum);

    User getUserById(Integer userid);

    User getUserByName(String username);

    Integer updateUserInfo(User user);


    /**
     * 根据id查询用户信息
     *
     * @param user 用户
     * @return -1 重复用户名， 0 插入成功
     */
    int insertUser(User user);

    /**
     * @param userId 用户id
     * @param ban    0解封，1封禁
     * @return 操作用户的个数，1更改成功，0无更改
     */
    int setUserBan(Integer userId, Integer ban);

    /**
     * 根据用户名和密码登录
     *
     * @param username 用户名
     * @param password 密码
     * @return -1 用户名不存在， -2密码错误，-3用户已封禁， 0 登录成功
     */
    int login(String username, String password);

    /**
     *
     * @param session 当前session
     * @param userId 请求的userid
     * @param isManager 请求是否要求为管理员
     * @return 0符合要求， -1不符合要求
     */
    int checkCurrentUser(HttpSession session, Integer userId, Integer isManager);
}
